package com.huaxiafinance.management.util;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import java.util.Map;


/**
 * @author HanKang
 * @Date 2018/1/11 10:45
 * @Version 1.0.0
 * @Description 短信发送工具类
 * @Copyright: 2018 www.huaxiafinance.com Inc. All rights reserved. 注意：本内容仅限于华夏信财股权投资管理有限公司内部传阅，禁止外泄以及用于其他的商业目的
 */
public class SmsUtil {
  private static final Log logger = LogFactory.getLog(SmsUtil.class);
  //华信短信验证码发送接口地址
  private static final String url = PropertiesLoader.getProperty("huaxin_url");
  //发送用户帐号	用户帐号，由系统管理员
  private static final String account = PropertiesLoader.getProperty("huaxin_account");
  private static final String password = PropertiesLoader.getProperty("huaxin_password");
  //mobile 全部被叫号码	短信发送的目的号码.多个号码之间用半角逗号隔开
  //短信的内容，内容需要UTF-8编码，提交内容格式：内容+【签名】。签名是公司的名字或者公司项目名称。示例：您的验证码：1439【腾飞】。【】是签名的标识符。请按照正规的格式提交内容测试
  //定时发送时间	为空表示立即发送，定时发送格式2010-10-24 09:08:10
  public static final String sendTime ="";
  //发送任务命令	设置为固定的:send
  public static final String action	= "send";
  //扩展子号	请先询问配置的通道是否支持扩展子号，如果不支持，请填空。子号只能为数字，且最多5位数。
  public static final String extno = "";

  /**
   * 生成6位短信验证码
   * @return
   */
  public static String createVerificationCode(){
    Integer code= Integer.valueOf((int)((Math.random()*9+1)*100000));
    return code.toString();
  }

  /**
   * 发送短信验证码
   * @param url
   * @param params
   * @return
   * @throws Exception
   */
  public static String sendMsg(Map<String,Object> params) throws Exception {
    System.out.println("url-------------"+url);
    params.put("account",account);
    params.put("password",password);
    params.put("action",action);
    logger.info("请求华信短信接口请求的url==================="+url);
    logger.info("请求华信短信接口请求的参数==================="+params.toString());
    return  HttpClientUtil.post(url,params);
  }
}
